/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ile.DAO;

import ile.Modelo.Usuario;
import java.util.List;
import javax.persistence.Query;
import javax.swing.JTextField;

/**
 *
 * @author 
 */
public class UsuarioDAO extends DAOAbstract<Usuario> {

    public UsuarioDAO(Usuario t) {
        super(t);
    }
    
    @Override
    public List<Usuario>buscartodos(){
        Query consulta = this.getEntityManager().createQuery("Select usuario from Usuario usuario");
        return consulta.getResultList();
    }
    
     public Usuario verificarCodigoUsuario(String codigo){
      
     
       String consulta = "Select usuario from Usuario usuario "+
                "where (usuario.codigo like :codigo)";
        Query query= this.getEntityManager().createQuery(consulta);
        query.setParameter("codigo", codigo);
        List<Usuario> usuario= query.getResultList();
        
        return !usuario.isEmpty()?usuario.get(0):null;
    }
 
     
////busca al empleado por las primeras iniciales del cargo
//     public List<Herramienta>buscarPorNombre(String nombreValor){
//        String queryStr = "Select empleado from Empleado empleado where "+
//                "cargo.nombre like concat(:nombre,'%')";
//        Query consulta = this.getEntityManager().createQuery(queryStr);
//        consulta.setParameter("nombre", nombreValor);
//        return consulta.getResultList();
//    }
//
//    public List<Herramienta>buscarPorPalabraClave(String clave){
//        String consultaStr = "Select empleado from Empleado empleado "+
//                "where (empleado.nombres like concat(:palabraClave, '%') or "+
//                "empleado.apellidos like concat(:palabraClave, '%') or "+
//                "empleado.pin like concat(:palabraClave, '%')"+
//               //para cerrar el where lo que esta agrupado dentro de el el parentesis
//                ")"+
//                " order by empleado.apellidos, empleado.nombres";
//
//        Query query = this.getEntityManager().createQuery(consultaStr);
//        query.setParameter("palabraClave", clave);
//
//        return query.getResultList();
//    }
//
//    public Herramienta buscarporClave(String clave){
//
//        String consultaStr = "Select empleado from Empleado empleado "+
//                "where (empleado.clave like :clave)";
//
//        Query query = this.getEntityManager().createQuery(consultaStr);
//        query.setParameter("clave", clave);
//        List<Herramienta> empleado=query.getResultList();//la clave no va a ser unica.. pueden tener varios empleados la misma clave
//        return !empleado.isEmpty()? empleado.get(0):null;
//    }
//
//
//    public Herramienta buscarporClavePin(String clave,String pin){
//
//        String consultaStr = "Select empleado from Empleado empleado "+
//                "where (empleado.clave like :clave and " +
//                "empleado.pin like :pin)";
//
//        Query query = this.getEntityManager().createQuery(consultaStr);
//        query.setParameter("clave", clave);
//        query.setParameter("pin", pin);
//        List<Herramienta> empleado=query.getResultList();
//        return !empleado.isEmpty()? empleado.get(0):null;
//    }

  

}
